﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace Client.Encriptacion.logica
{
    class ProcesarTexto
    {
        ProcesarTexto() { }

        public static string[] Procesar(string entrada)
        {
        
            char[] ent = new char[entrada.Length];
            int trozos = entrada.Length / 8;
            ent = entrada.ToCharArray();
            double largo = entrada.Length;
            double cant = Math.Ceiling(largo / 8);
            char[] aux = new char[8];
            int valor = int.Parse(cant.ToString());
            string[] resultante = new string[valor];


            for (int i = 0; i < valor; i++)
            {                
                if ((8 * i + 8) < entrada.Length)
                    resultante[i] = entrada.Substring(8 * i, 8);
                else
                    resultante[i] = entrada.Substring(8 * i, (entrada.Length - 8 * i));  
            }
            IO.ImprimePasos("Se divide el texto de largo " + largo + " en " + cant + " trozo(s) de 64 bits");
            //Console.WriteLine("el largo de la entrada es :" + largo + " y la cantidad de espacio que usara es: " + cant + " y el primer pedazo es :" + resultante[valor-1]);
            return resultante;
        }

        public static BitArray[] Transformar(string[] entrada)
        {
            BitArray[] res = new BitArray[entrada.Length];//tiene los n trozos de 64 bits cada uno

            for (int i = 0; i < entrada.Length; i++)
            {
                res[i] = TransformarABinario.transformarABinario(entrada[i]);
                //IO.ImprimeBitArray(res[i], 8);
            }
            //IO.ImprimeBitArray(res[entrada.Length - 1], 8);
            return res;
        }
    }
}
